package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单对象 ry_order
 * 
 * @author ruoyi
 * @date 2024-09-25
 */
public class RyOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单id */
    private Long id;

    /** 类型 */
    @Excel(name = "类型")
    private String type;

    /** 服务地点 */
    @Excel(name = "服务地点")
    private String requestLocation;

    /** 服务状态 */
    @Excel(name = "服务状态")
    private String requestStatus;

    /** 下单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderAtTime;

    /** 下单编号 */
    @Excel(name = "下单编号")
    private Long orderNumber;

    /** 预约时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预约时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date scheduledAt;

    /** 预约服务 */
    @Excel(name = "预约服务")
    private String appointmentSe;

    /** 备注信息 */
    @Excel(name = "备注信息")
    private String remarksIn;

    /** 订单完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "订单完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderCompletedAt;

    /** 订单总金额 */
    @Excel(name = "订单总金额")
    private Long orderAmount;

    /** 优惠金额 */
    @Excel(name = "优惠金额")
    private Long discountAmount;

    /** 是否优惠 */
    @Excel(name = "是否优惠")
    private String discount;

    /** 实付金额 */
    @Excel(name = "实付金额")
    private Long pocketAmount;

    /** 支付方式 */
    @Excel(name = "支付方式")
    private String paymentMethod;

    /** 订单结束附件 */
    @Excel(name = "订单结束附件")
    private String orderClosed;

    /** 订单限制时间最晚 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "订单限制时间最晚", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 订单管理 */
    @Excel(name = "订单管理")
    private Long columnName;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setRequestLocation(String requestLocation) 
    {
        this.requestLocation = requestLocation;
    }

    public String getRequestLocation() 
    {
        return requestLocation;
    }
    public void setRequestStatus(String requestStatus) 
    {
        this.requestStatus = requestStatus;
    }

    public String getRequestStatus() 
    {
        return requestStatus;
    }
    public void setOrderAtTime(Date orderAtTime) 
    {
        this.orderAtTime = orderAtTime;
    }

    public Date getOrderAtTime() 
    {
        return orderAtTime;
    }
    public void setOrderNumber(Long orderNumber) 
    {
        this.orderNumber = orderNumber;
    }

    public Long getOrderNumber() 
    {
        return orderNumber;
    }
    public void setScheduledAt(Date scheduledAt) 
    {
        this.scheduledAt = scheduledAt;
    }

    public Date getScheduledAt() 
    {
        return scheduledAt;
    }
    public void setAppointmentSe(String appointmentSe) 
    {
        this.appointmentSe = appointmentSe;
    }

    public String getAppointmentSe() 
    {
        return appointmentSe;
    }
    public void setRemarksIn(String remarksIn) 
    {
        this.remarksIn = remarksIn;
    }

    public String getRemarksIn() 
    {
        return remarksIn;
    }
    public void setOrderCompletedAt(Date orderCompletedAt) 
    {
        this.orderCompletedAt = orderCompletedAt;
    }

    public Date getOrderCompletedAt() 
    {
        return orderCompletedAt;
    }
    public void setOrderAmount(Long orderAmount) 
    {
        this.orderAmount = orderAmount;
    }

    public Long getOrderAmount() 
    {
        return orderAmount;
    }
    public void setDiscountAmount(Long discountAmount) 
    {
        this.discountAmount = discountAmount;
    }

    public Long getDiscountAmount() 
    {
        return discountAmount;
    }
    public void setDiscount(String discount) 
    {
        this.discount = discount;
    }

    public String getDiscount() 
    {
        return discount;
    }
    public void setPocketAmount(Long pocketAmount) 
    {
        this.pocketAmount = pocketAmount;
    }

    public Long getPocketAmount() 
    {
        return pocketAmount;
    }
    public void setPaymentMethod(String paymentMethod) 
    {
        this.paymentMethod = paymentMethod;
    }

    public String getPaymentMethod() 
    {
        return paymentMethod;
    }
    public void setOrderClosed(String orderClosed) 
    {
        this.orderClosed = orderClosed;
    }

    public String getOrderClosed() 
    {
        return orderClosed;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setColumnName(Long columnName) 
    {
        this.columnName = columnName;
    }

    public Long getColumnName() 
    {
        return columnName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("type", getType())
            .append("requestLocation", getRequestLocation())
            .append("requestStatus", getRequestStatus())
            .append("orderAtTime", getOrderAtTime())
            .append("orderNumber", getOrderNumber())
            .append("scheduledAt", getScheduledAt())
            .append("appointmentSe", getAppointmentSe())
            .append("remarksIn", getRemarksIn())
            .append("orderCompletedAt", getOrderCompletedAt())
            .append("orderAmount", getOrderAmount())
            .append("discountAmount", getDiscountAmount())
            .append("discount", getDiscount())
            .append("pocketAmount", getPocketAmount())
            .append("paymentMethod", getPaymentMethod())
            .append("orderClosed", getOrderClosed())
            .append("endTime", getEndTime())
            .append("columnName", getColumnName())
            .toString();
    }
}
